// @Desc:
// @CreateTime: 2020/10/8
package main

import (
	"os"

	"github.com/gin-gonic/gin"
	"mycrm.com/config"
	"mycrm.com/corntask"
	"mycrm.com/module"
	mlog "mycrm.com/mylog"
	"mycrm.com/router"
	"mycrm.com/utils"
)

// 项目初始化
func init() {
	projectDir, _ := os.Getwd()
	// 初始化配置信息
	config.InitConf(projectDir)

	// 初始化 log
	mlog.InitLogger()

	// 初始化加解密
	utils.InitDecFn(projectDir)

	// 初始化数据库
	if err := module.InitDb(); err != nil {
		mlog.Log.Panic("module.InitDb() is failed, err: ", err)
	}

	// 初始化定时器
	if err := corntask.InitCronTask(); err != nil {
		mlog.Log.Panic("cronObj.AddFunc is failed, err: ", err)
	}
}

func main() {
	routerObj := gin.Default()
	router.Routers(routerObj)
	isProduction := config.Configs.LogConf.IsProduction
	port := ":9999"
	if isProduction {
		// TODO
	}
	if err := routerObj.Run(port); err != nil {
		mlog.Log.Panic("server run is failed, err:", err)
	}
}
